import { IPSModelObject } from '../ipsmodel-object';

/**
 *
 * @export
 * @interface IPSSystemDBConfig
 */
export interface IPSSystemDBConfig extends IPSModelObject {
  /**
   * 数据库类型
   * @description 值模式 [云数据库类型（静态）2] {DB2：DB2、 MySQL5：MySQL5、 MYSQL5：MySQL5、 Oracle：Oracle、 ORACLE：Oracle、 SqlServer：SqlServer、 SQLSERVER：SqlServer、 POSTGRESQL：PostgreSQL、 PostgreSQL：PostgreSQL、 PPAS：PPAS、 SQLITE：SQLite、 DM：DM、 HANA：HANA }
   * @type {( string | 'DB2' | 'MySQL5' | 'MYSQL5' | 'Oracle' | 'ORACLE' | 'SqlServer' | 'SQLSERVER' | 'POSTGRESQL' | 'PostgreSQL' | 'PPAS' | 'SQLITE' | 'DM' | 'HANA')}
   */
  dBType: string | 'DB2' | 'MySQL5' | 'MYSQL5' | 'Oracle' | 'ORACLE' | 'SqlServer' | 'SQLSERVER' | 'POSTGRESQL' | 'PostgreSQL' | 'PPAS' | 'SQLITE' | 'DM' | 'HANA';

  /**
   * 数据空值排序模式
   * @description 值模式 [数据库空值排序] {FIRST：最先、 LAST：最后 }
   * @type {( string | 'FIRST' | 'LAST')}
   */
  nullValueOrderMode: string | 'FIRST' | 'LAST';

  /**
   * 对象名称转化
   * @description 值模式 [数据库对象名称转换] {DEFAULT：默认、 UCASE：转换为大写、 LCASE：转换为小写 }
   * @type {( string | 'DEFAULT' | 'UCASE' | 'LCASE')}
   */
  objNameCase: string | 'DEFAULT' | 'UCASE' | 'LCASE';

  /**
   * 默认数据库支持
   * @type {boolean}
   */
  defaultMode: boolean;

  /**
   * 发布外键
   * @type {boolean}
   */
  pubFKey: boolean;

  /**
   * 发布索引
   * @type {boolean}
   */
  pubIndex: boolean;

  /**
   * 发布数据库模型
   * @type {boolean}
   */
  pubModel: boolean;

  /**
   * 发布注释
   * @type {boolean}
   */
  pubModelComment: boolean;

  /**
   * 发布视图
   * @type {boolean}
   */
  pubView: boolean;
}
